package com.wgo.bpot.server.persist;

import java.io.Serializable;

import com.wgo.bpot.common.transport.servicefacade.UniqueValueFactory;


public interface PersistService {
	public void createSchema();
	public UniqueValueFactory getUniqueValueFactory();
	public void setRootConceptClass(Class rootConceptClass);
	public void save(Object instanceToBeSaved);
	public <T> T getInstance(Class<T> type, Serializable id);
	public Object find(Class type, String fieldName, String fieldValue);
	public void saveOrUpdate(Object instanceToBeSaved);
	public void startTransaction();
	public boolean isTransactionActive();
	public void commitTransaction();
	public void rollbackTransaction();
}
